/*
 * Copyright (C) 2014 Hortator
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package engine.entities.MobClass;

import engine.entities.Mob.MobSpriteSet;

/**
 *
 * @author Nathan Templon
 */
public abstract class MobClass {
    
    public static final int MAX_LEVEL = 100;
    
    protected final String name;
    protected int level;
    protected final MobSpriteSet sprites;
    
    public MobClass(String name, MobSpriteSet sprites, int level) {
        this.name = name;
        this.sprites = sprites;
        this.level = level;
    }
    
    public void increaseLevel() {
        if (level < MAX_LEVEL) {
            level++;
        }
    }
    
    public String getName() {
        return name;
    }
    
    public int getLevel() {
        return level;
    }
    
    public MobSpriteSet getSpriteSet() {
        return sprites;
    }
    
    public abstract int getAttackBonus();
    public abstract int getHealth();
    public abstract int getStamina();
    public abstract int getMana();
    public abstract int getAether();
    
}
